<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.18"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>NINJA: NINJA/ArrayHeapExtMem.hpp Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">NINJA
   &#160;<span id="projectnumber">2.x</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.18 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('_array_heap_ext_mem_8hpp_source.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="headertitle">
<div class="title">ArrayHeapExtMem.hpp</div>  </div>
</div><!--header-->
<div class="contents">
<a href="_array_heap_ext_mem_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#ifndef ARRAYHEAPEXTMEM_HPP</span></div>
<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="preprocessor">#define ARRAYHEAPEXTMEM_HPP</span></div>
<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160; </div>
<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_binary_heap___four_ints_8hpp.html">BinaryHeap_FourInts.hpp</a>&quot;</span></div>
<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_binary_heap___two_ints_8hpp.html">BinaryHeap_TwoInts.hpp</a>&quot;</span></div>
<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160; </div>
<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="preprocessor">#include &lt;cmath&gt;</span></div>
<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="preprocessor">#include &lt;list&gt;</span></div>
<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="preprocessor">#include &lt;cfloat&gt;</span></div>
<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160; </div>
<div class="line"><a name="l00011"></a><span class="lineno"><a class="line" href="class_node.html">   11</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_node.html">Node</a> {</div>
<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00013"></a><span class="lineno"><a class="line" href="class_node.html#ac92c571228f56330b3e37ca1d43feb93">   13</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="class_node.html#ac92c571228f56330b3e37ca1d43feb93">i</a>;</div>
<div class="line"><a name="l00014"></a><span class="lineno"><a class="line" href="class_node.html#a747e7d35178b7a2c4020b9ca4d26ea89">   14</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="class_node.html#a747e7d35178b7a2c4020b9ca4d26ea89">j</a>;</div>
<div class="line"><a name="l00015"></a><span class="lineno"><a class="line" href="class_node.html#ac00da35d2d67f0cdf4f1176d541bd271">   15</a></span>&#160;    <span class="keywordtype">float</span> <a class="code" href="class_node.html#ac00da35d2d67f0cdf4f1176d541bd271">key</a>;</div>
<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160; </div>
<div class="line"><a name="l00017"></a><span class="lineno"><a class="line" href="class_node.html#a439595ca0e98fe92ee87a54b509a7810">   17</a></span>&#160;    <a class="code" href="class_node.html#a439595ca0e98fe92ee87a54b509a7810">Node</a>(<span class="keywordtype">int</span> <a class="code" href="class_node.html#ac92c571228f56330b3e37ca1d43feb93">i</a>, <span class="keywordtype">int</span> <a class="code" href="class_node.html#a747e7d35178b7a2c4020b9ca4d26ea89">j</a>, <span class="keywordtype">float</span> <a class="code" href="class_node.html#ac00da35d2d67f0cdf4f1176d541bd271">key</a>) {</div>
<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;        this-&gt;i = <a class="code" href="class_node.html#ac92c571228f56330b3e37ca1d43feb93">i</a>;</div>
<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;        this-&gt;j = <a class="code" href="class_node.html#a747e7d35178b7a2c4020b9ca4d26ea89">j</a>;</div>
<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;        this-&gt;key = <a class="code" href="class_node.html#ac00da35d2d67f0cdf4f1176d541bd271">key</a>;</div>
<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;    }</div>
<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160; </div>
<div class="line"><a name="l00023"></a><span class="lineno"><a class="line" href="class_node.html#ad7a34779cad45d997bfd6d3d8043c75f">   23</a></span>&#160;    <a class="code" href="class_node.html#ad7a34779cad45d997bfd6d3d8043c75f">Node</a>() {</div>
<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;        this-&gt;i = 0;</div>
<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;        this-&gt;j = 0;</div>
<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;        this-&gt;key = 0.0;</div>
<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;    }</div>
<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;};</div>
<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160; </div>
<div class="line"><a name="l00030"></a><span class="lineno"><a class="line" href="class_slot_pair.html">   30</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_slot_pair.html">SlotPair</a> {</div>
<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00032"></a><span class="lineno"><a class="line" href="class_slot_pair.html#a1ae791f11a43cb33f46cadaee24d8ecb">   32</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="class_slot_pair.html#a1ae791f11a43cb33f46cadaee24d8ecb">slot</a>;</div>
<div class="line"><a name="l00033"></a><span class="lineno"><a class="line" href="class_slot_pair.html#ac76d354c310b27e26935b46a4a20f446">   33</a></span>&#160;    <span class="keywordtype">long</span> <a class="code" href="class_slot_pair.html#ac76d354c310b27e26935b46a4a20f446">remaining</a>;</div>
<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160; </div>
<div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="class_slot_pair.html#ac09540de71ab2af1b8ec8265f1453760">   35</a></span>&#160;    <a class="code" href="class_slot_pair.html#ac09540de71ab2af1b8ec8265f1453760">SlotPair</a>(<span class="keywordtype">int</span> s, <span class="keywordtype">long</span> r) {</div>
<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;        <a class="code" href="class_slot_pair.html#a1ae791f11a43cb33f46cadaee24d8ecb">slot</a> = s;</div>
<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;        <a class="code" href="class_slot_pair.html#ac76d354c310b27e26935b46a4a20f446">remaining</a> = r;</div>
<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;    }</div>
<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160; </div>
<div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="class_slot_pair.html#a1304d88a845660a897d8ad3abc9acb17">   40</a></span>&#160;    <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="class_slot_pair.html#a1304d88a845660a897d8ad3abc9acb17">compareTo</a>(<span class="keyword">const</span> <span class="keywordtype">void</span> *a, <span class="keyword">const</span> <span class="keywordtype">void</span> *b) {</div>
<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;        <span class="keywordflow">return</span> ((<a class="code" href="class_slot_pair.html">SlotPair</a> *) b)-&gt;remaining &lt; ((<a class="code" href="class_slot_pair.html">SlotPair</a> *) a)-&gt;remaining ? -1 : 1;</div>
<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;    }</div>
<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;};</div>
<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160; </div>
<div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="struct_heap_return.html">   45</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct_heap_return.html">HeapReturn</a> {</div>
<div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="struct_heap_return.html#ad3af739a005b61242cf1b5e02a2cf740">   46</a></span>&#160;    <span class="keywordtype">void</span> *<a class="code" href="struct_heap_return.html#ad3af739a005b61242cf1b5e02a2cf740">h</a>;</div>
<div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="struct_heap_return.html#a92d5327a236a872dd1d0598fac7685ba">   47</a></span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="struct_heap_return.html#a92d5327a236a872dd1d0598fac7685ba">which</a>;</div>
<div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="_array_heap_ext_mem_8hpp.html#a70f21bb9c2daeb690c71d6f05b24d399">   48</a></span>&#160;} <a class="code" href="_array_heap_ext_mem_8hpp.html#a70f21bb9c2daeb690c71d6f05b24d399">HeapReturn</a>;</div>
<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160; </div>
<div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="class_array_heap_ext_mem.html">   50</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_array_heap_ext_mem.html">ArrayHeapExtMem</a> {</div>
<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160; </div>
<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160; </div>
<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;    <a class="code" href="class_array_heap_ext_mem.html#a3a5ef6bdef74f27b29dba5c29996baf0">ArrayHeapExtMem</a>(std::string dir, <span class="keywordtype">int</span> *activeIJs);</div>
<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160; </div>
<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;    <a class="code" href="class_array_heap_ext_mem.html#a3a5ef6bdef74f27b29dba5c29996baf0">ArrayHeapExtMem</a>(std::string dir, <span class="keywordtype">int</span> *activeIJs, <span class="keywordtype">long</span> sizeExp);</div>
<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160; </div>
<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;    <a class="code" href="class_array_heap_ext_mem.html#a24ce2bacde78413e6db5bb7b2e45a95e">~ArrayHeapExtMem</a>();</div>
<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160; </div>
<div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="class_array_heap_ext_mem.html#a88021eafbdcfca82e5c5bc33ee7c2800">   60</a></span>&#160;    std::string <a class="code" href="class_array_heap_ext_mem.html#a88021eafbdcfca82e5c5bc33ee7c2800">tmpDir</a>; <span class="comment">//path to directory</span></div>
<div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="class_array_heap_ext_mem.html#af5f7270d94d659cb998a6d03f15ec68b">   61</a></span>&#160;    std::string <a class="code" href="class_array_heap_ext_mem.html#af5f7270d94d659cb998a6d03f15ec68b">fileName</a>; <span class="comment">//path to directory</span></div>
<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160; </div>
<div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="class_array_heap_ext_mem.html#a8a4b5f9befa78ef8e0d043275c1855c1">   63</a></span>&#160;    <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> <a class="code" href="class_array_heap_ext_mem.html#a8a4b5f9befa78ef8e0d043275c1855c1">chopBottom</a> = <span class="keyword">true</span>;</div>
<div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="class_array_heap_ext_mem.html#a962f7c37ee65041067e3b8369ddba764">   64</a></span>&#160;    <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> <a class="code" href="class_array_heap_ext_mem.html#a962f7c37ee65041067e3b8369ddba764">trimInactiveFromHeapArray</a> = <span class="keyword">true</span>;</div>
<div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="class_array_heap_ext_mem.html#ac04b46fff6274414080239459dcefc6a">   65</a></span>&#160;    <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="class_array_heap_ext_mem.html#ac04b46fff6274414080239459dcefc6a">numArrays</a>;</div>
<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160; </div>
<div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="class_array_heap_ext_mem.html#a352c27df70ca0deac7b053bafc5b775f">   67</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="class_array_heap_ext_mem.html#a352c27df70ca0deac7b053bafc5b775f">A</a>;</div>
<div class="line"><a name="l00068"></a><span class="lineno"><a class="line" href="class_array_heap_ext_mem.html#ab265c5ed6832460974f81d20d468d8b3">   68</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="class_array_heap_ext_mem.html#ab265c5ed6832460974f81d20d468d8b3">B</a>;</div>
<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160; </div>
<div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="class_array_heap_ext_mem.html#a59b5c9dc112754fd0b53716cece2c622">   70</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="class_array_heap_ext_mem.html#a59b5c9dc112754fd0b53716cece2c622">maxLevels</a>;</div>
<div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="class_array_heap_ext_mem.html#abda6f67dea46d709e1a719843c7fec6b">   71</a></span>&#160;    <span class="keywordtype">float</span> <a class="code" href="class_array_heap_ext_mem.html#abda6f67dea46d709e1a719843c7fec6b">c</a>;  <span class="comment">// was 1/7 in the paper, but I&#39;m storing other values with the key, so I&#39;ve changed the ratio</span></div>
<div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="class_array_heap_ext_mem.html#a27b976bfb35d0fe05d359e01f7b5c0a1">   72</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="class_array_heap_ext_mem.html#a27b976bfb35d0fe05d359e01f7b5c0a1">blockSize</a>; <span class="comment">//4KB blocks = ~1000 ints</span></div>
<div class="line"><a name="l00073"></a><span class="lineno"><a class="line" href="class_array_heap_ext_mem.html#a8b43317321928c37b4d477519a94e3b9">   73</a></span>&#160;    <span class="keywordtype">long</span> <a class="code" href="class_array_heap_ext_mem.html#a8b43317321928c37b4d477519a94e3b9">mem</a>;</div>
<div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="class_array_heap_ext_mem.html#a7ea7fefd847ded939df6c046b3189d14">   74</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="class_array_heap_ext_mem.html#a7ea7fefd847ded939df6c046b3189d14">cM</a>;</div>
<div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="class_array_heap_ext_mem.html#a6eaf293a2ab27192958b9d14603b0ae5">   75</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="class_array_heap_ext_mem.html#a6eaf293a2ab27192958b9d14603b0ae5">numSlots</a>;</div>
<div class="line"><a name="l00076"></a><span class="lineno"><a class="line" href="class_array_heap_ext_mem.html#aa0b6486610fe9b60257a961fbec30261">   76</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="class_array_heap_ext_mem.html#aa0b6486610fe9b60257a961fbec30261">numNodesPerBlock</a>;</div>
<div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="class_array_heap_ext_mem.html#ab2b15fcf51ebc7c0ba8b99e516d9b345">   77</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="class_array_heap_ext_mem.html#ab2b15fcf51ebc7c0ba8b99e516d9b345">numFieldsPerBlock</a>;</div>
<div class="line"><a name="l00078"></a><span class="lineno"><a class="line" href="class_array_heap_ext_mem.html#a70670ca373b14372e320a98720efd50b">   78</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="class_array_heap_ext_mem.html#a70670ca373b14372e320a98720efd50b">n</a>;</div>
<div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="class_array_heap_ext_mem.html#af046437cd00f617b7e27f6a351c29d0d">   79</a></span>&#160;    <a class="code" href="class_binary_heap___two_ints.html">BinaryHeap_TwoInts</a> *<a class="code" href="class_array_heap_ext_mem.html#af046437cd00f617b7e27f6a351c29d0d">H1</a>; <span class="comment">//the one I have with a float key instead of int</span></div>
<div class="line"><a name="l00080"></a><span class="lineno"><a class="line" href="class_array_heap_ext_mem.html#a1fd0c2cebe5dad42ccaec241391b169f">   80</a></span>&#160;    <a class="code" href="class_binary_heap___four_ints.html">BinaryHeap_FourInts</a> *<a class="code" href="class_array_heap_ext_mem.html#a1fd0c2cebe5dad42ccaec241391b169f">H2</a>; <span class="comment">//same thing as the above, with 4 ints instead of 2</span></div>
<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160; </div>
<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160; </div>
<div class="line"><a name="l00083"></a><span class="lineno"><a class="line" href="class_array_heap_ext_mem.html#aaa5969924dc5022fe6ec7e07c2ca3e77">   83</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="class_array_heap_ext_mem.html#aaa5969924dc5022fe6ec7e07c2ca3e77">loopCntr</a>;</div>
<div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="class_array_heap_ext_mem.html#a1a9ace36076570d6a57fe770337f556b">   84</a></span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="class_array_heap_ext_mem.html#a1a9ace36076570d6a57fe770337f556b">startCheckingValues</a>;</div>
<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160; </div>
<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160; </div>
<div class="line"><a name="l00087"></a><span class="lineno"><a class="line" href="class_array_heap_ext_mem.html#a286817a6f9bb0eb5028eb3337d9ccc10">   87</a></span>&#160;    FILE *<a class="code" href="class_array_heap_ext_mem.html#a286817a6f9bb0eb5028eb3337d9ccc10">file</a>;</div>
<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160; </div>
<div class="line"><a name="l00089"></a><span class="lineno"><a class="line" href="class_array_heap_ext_mem.html#ad6c455ce31f15d20ccbcfe938a6e0e56">   89</a></span>&#160;    <span class="keywordtype">long</span> **<a class="code" href="class_array_heap_ext_mem.html#ad6c455ce31f15d20ccbcfe938a6e0e56">slotNodeCnt</a>;</div>
<div class="line"><a name="l00090"></a><span class="lineno"><a class="line" href="class_array_heap_ext_mem.html#aec025366f3eefa7993bf1d4b48351426">   90</a></span>&#160;    <span class="keywordtype">int</span> ***<a class="code" href="class_array_heap_ext_mem.html#aec025366f3eefa7993bf1d4b48351426">perSlotIntBuffer</a>;</div>
<div class="line"><a name="l00091"></a><span class="lineno"><a class="line" href="class_array_heap_ext_mem.html#a66624d3b5e0a6fbd9ff43b524709e2ef">   91</a></span>&#160;    <span class="keywordtype">int</span> **<a class="code" href="class_array_heap_ext_mem.html#a66624d3b5e0a6fbd9ff43b524709e2ef">slotBuffPos</a>;</div>
<div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="class_array_heap_ext_mem.html#ae6af6d1a94c1dacfbe156c7fef2bed09">   92</a></span>&#160;    <span class="keywordtype">int</span> **<a class="code" href="class_array_heap_ext_mem.html#ae6af6d1a94c1dacfbe156c7fef2bed09">cntOnHeap</a>;</div>
<div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="class_array_heap_ext_mem.html#a21f8ef1f47ab9a51e1696bf74fc9cd26">   93</a></span>&#160;    <span class="keywordtype">long</span> **<a class="code" href="class_array_heap_ext_mem.html#a21f8ef1f47ab9a51e1696bf74fc9cd26">slotPositions</a>;</div>
<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160; </div>
<div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="class_array_heap_ext_mem.html#ad1535a15e7c4c34da85d5377b7426fe8">   95</a></span>&#160;    std::vector&lt;std::list&lt;int&gt; *&gt; *<a class="code" href="class_array_heap_ext_mem.html#ad1535a15e7c4c34da85d5377b7426fe8">freeSlots</a>;</div>
<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160; </div>
<div class="line"><a name="l00097"></a><span class="lineno"><a class="line" href="class_array_heap_ext_mem.html#a4d6b64358773829f1849dac0bc910485">   97</a></span>&#160;    std::vector&lt;SlotPair *&gt; *<a class="code" href="class_array_heap_ext_mem.html#a4d6b64358773829f1849dac0bc910485">slotPairList</a>;</div>
<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160; </div>
<div class="line"><a name="l00099"></a><span class="lineno"><a class="line" href="class_array_heap_ext_mem.html#aa0d9dd841ba0f6e56957daa451ae5dbc">   99</a></span>&#160;    <span class="keywordtype">char</span> *<a class="code" href="class_array_heap_ext_mem.html#aa0d9dd841ba0f6e56957daa451ae5dbc">buffB</a>;</div>
<div class="line"><a name="l00100"></a><span class="lineno"><a class="line" href="class_array_heap_ext_mem.html#af6e41001eca36c3177f1c942314b45a2">  100</a></span>&#160;    <span class="keywordtype">int</span> *<a class="code" href="class_array_heap_ext_mem.html#af6e41001eca36c3177f1c942314b45a2">buffI</a>;</div>
<div class="line"><a name="l00101"></a><span class="lineno"><a class="line" href="class_array_heap_ext_mem.html#a6a7f40696470a4a00aa81be3cddfd0b6">  101</a></span>&#160;    <span class="keywordtype">char</span> *<a class="code" href="class_array_heap_ext_mem.html#a6a7f40696470a4a00aa81be3cddfd0b6">bigBuffB</a>;</div>
<div class="line"><a name="l00102"></a><span class="lineno"><a class="line" href="class_array_heap_ext_mem.html#a11d7d97518e75793e6419b47860ff400">  102</a></span>&#160;    <span class="keywordtype">int</span> *<a class="code" href="class_array_heap_ext_mem.html#a11d7d97518e75793e6419b47860ff400">bigBuffI</a>;</div>
<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160; </div>
<div class="line"><a name="l00104"></a><span class="lineno"><a class="line" href="class_array_heap_ext_mem.html#a4a2c93680e45859648cdc17dd946d1c9">  104</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="class_array_heap_ext_mem.html#a4a2c93680e45859648cdc17dd946d1c9">numFields</a>;</div>
<div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="class_array_heap_ext_mem.html#abc99606a0b40b94eae0150ee3bf4a64c">  105</a></span>&#160;    <span class="keywordtype">long</span> *<a class="code" href="class_array_heap_ext_mem.html#abc99606a0b40b94eae0150ee3bf4a64c">cntMax</a>;</div>
<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160; </div>
<div class="line"><a name="l00107"></a><span class="lineno"><a class="line" href="class_array_heap_ext_mem.html#a22694810f074120668372f10505f6c8b">  107</a></span>&#160;    <a class="code" href="class_binary_heap___two_ints.html">BinaryHeap_TwoInts</a> *<a class="code" href="class_array_heap_ext_mem.html#a22694810f074120668372f10505f6c8b">sortingHeap</a>;</div>
<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160; </div>
<div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="class_array_heap_ext_mem.html#a54153598c57a0dbe824e7a9c87e7a781">  109</a></span>&#160;    FILE *<a class="code" href="class_array_heap_ext_mem.html#a54153598c57a0dbe824e7a9c87e7a781">tempFile</a>;</div>
<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160; </div>
<div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="class_array_heap_ext_mem.html#a8a6d92421203923ef902b3bb78262a84">  111</a></span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_array_heap_ext_mem.html#a8a6d92421203923ef902b3bb78262a84">closeAndDeleteFile</a>();</div>
<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160; </div>
<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_array_heap_ext_mem.html#a70370771be3fc71f96fe0c2adfbbfdee">insert</a>(<span class="keywordtype">int</span> i, <span class="keywordtype">int</span> j, <span class="keywordtype">float</span> key);</div>
<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160; </div>
<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_array_heap_ext_mem.html#a28f40b2225137d0f8cbd0c065f767e4b">prepare</a>();</div>
<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160; </div>
<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_array_heap_ext_mem.html#a4f8d3d0869f1fa215d25e2cbcee0266d">clearAndInitialize</a>();</div>
<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160; </div>
<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="class_array_heap_ext_mem.html#a335bcdde7c416d7bfea8175cafefb120">isEmpty</a>();</div>
<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160; </div>
<div class="line"><a name="l00121"></a><span class="lineno"><a class="line" href="class_array_heap_ext_mem.html#abeadfba6f8a622814d9750c72f31fe3b">  121</a></span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_array_heap_ext_mem.html#abeadfba6f8a622814d9750c72f31fe3b">describeHeap</a>();</div>
<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160; </div>
<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;    <a class="code" href="struct_heap_return.html">HeapReturn</a> <a class="code" href="class_array_heap_ext_mem.html#ae2586a4b61b0cda1447748fb0e0083d0">getBinaryHeapWithMin</a>();</div>
<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160; </div>
<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_array_heap_ext_mem.html#a7a233b3fbadb58b060a9147097a2c38e">removeMin</a>();</div>
<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160; </div>
<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;    <span class="keywordtype">int</span> <a class="code" href="class_array_heap_ext_mem.html#a26fc220d8364d7e8894c3f5717714a51">size</a>();</div>
<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160; </div>
<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="class_array_heap_ext_mem.html#abedb647d18a126923c1de65ed5a550ca">test</a>(<span class="keywordtype">bool</span> verbose);</div>
<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160; </div>
<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_array_heap_ext_mem.html#a49b44e6cebc42ae0ead6ae51fcde6a87">deleteAll</a>();</div>
<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160; </div>
<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;<span class="keyword">private</span>:</div>
<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;    <span class="keywordtype">int</span> *active;</div>
<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160; </div>
<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;    <span class="keywordtype">void</span> initialize(std::string dir, <span class="keywordtype">int</span> *activeIJs, <span class="keywordtype">long</span> sizeExp);</div>
<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160; </div>
<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;    <span class="keywordtype">long</span> calcPos(<span class="keywordtype">int</span> level, <span class="keywordtype">int</span> slot);</div>
<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160; </div>
<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;    <span class="keywordtype">int</span> mergeLevels(<span class="keywordtype">int</span> targetLevel, <span class="keywordtype">int</span> *is, <span class="keywordtype">int</span> *js, <a class="code" href="struct_float.html">Float</a> keys);</div>
<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160; </div>
<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;    <span class="keywordtype">bool</span> mergeSlots(<span class="keywordtype">int</span> lvl);</div>
<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160; </div>
<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;    <span class="keywordtype">bool</span> mergeTwoSlots(<span class="keywordtype">int</span> lvl);</div>
<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160; </div>
<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;    <span class="keywordtype">void</span> load(<span class="keywordtype">int</span> level, <span class="keywordtype">int</span> slot);</div>
<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160; </div>
<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;    <span class="keywordtype">int</span> store(<span class="keywordtype">int</span> level, <span class="keywordtype">int</span> *is, <span class="keywordtype">int</span> *js, <span class="keywordtype">float</span> *keys, <span class="keywordtype">int</span> cnt);</div>
<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160; </div>
<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;    <span class="keywordtype">void</span> deleteLevelAndSlots(<a class="code" href="class_binary_heap___four_ints.html">BinaryHeap_FourInts</a> *H, <span class="keywordtype">int</span> level, <span class="keywordtype">int</span> *slots, <span class="keywordtype">int</span> <a class="code" href="class_array_heap_ext_mem.html#a6eaf293a2ab27192958b9d14603b0ae5">numSlots</a>);</div>
<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160; </div>
<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;    <span class="keywordtype">void</span> deleteLevels(<a class="code" href="class_binary_heap___four_ints.html">BinaryHeap_FourInts</a> *H, <span class="keywordtype">int</span> *levels, <span class="keywordtype">int</span> numLevels);</div>
<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160; </div>
<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;};</div>
<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160; </div>
<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;<span class="preprocessor">#endif</span></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<div class="ttc" id="aclass_node_html_ac00da35d2d67f0cdf4f1176d541bd271"><div class="ttname"><a href="class_node.html#ac00da35d2d67f0cdf4f1176d541bd271">Node::key</a></div><div class="ttdeci">float key</div><div class="ttdef"><b>Definition:</b> ArrayHeapExtMem.hpp:15</div></div>
<div class="ttc" id="aclass_node_html_ad7a34779cad45d997bfd6d3d8043c75f"><div class="ttname"><a href="class_node.html#ad7a34779cad45d997bfd6d3d8043c75f">Node::Node</a></div><div class="ttdeci">Node()</div><div class="ttdef"><b>Definition:</b> ArrayHeapExtMem.hpp:23</div></div>
<div class="ttc" id="aclass_array_heap_ext_mem_html_a11d7d97518e75793e6419b47860ff400"><div class="ttname"><a href="class_array_heap_ext_mem.html#a11d7d97518e75793e6419b47860ff400">ArrayHeapExtMem::bigBuffI</a></div><div class="ttdeci">int * bigBuffI</div><div class="ttdef"><b>Definition:</b> ArrayHeapExtMem.hpp:102</div></div>
<div class="ttc" id="aclass_array_heap_ext_mem_html_ad6c455ce31f15d20ccbcfe938a6e0e56"><div class="ttname"><a href="class_array_heap_ext_mem.html#ad6c455ce31f15d20ccbcfe938a6e0e56">ArrayHeapExtMem::slotNodeCnt</a></div><div class="ttdeci">long ** slotNodeCnt</div><div class="ttdef"><b>Definition:</b> ArrayHeapExtMem.hpp:89</div></div>
<div class="ttc" id="aclass_array_heap_ext_mem_html_a70370771be3fc71f96fe0c2adfbbfdee"><div class="ttname"><a href="class_array_heap_ext_mem.html#a70370771be3fc71f96fe0c2adfbbfdee">ArrayHeapExtMem::insert</a></div><div class="ttdeci">void insert(int i, int j, float key)</div><div class="ttdef"><b>Definition:</b> ArrayHeapExtMem.cpp:263</div></div>
<div class="ttc" id="aclass_array_heap_ext_mem_html_a88021eafbdcfca82e5c5bc33ee7c2800"><div class="ttname"><a href="class_array_heap_ext_mem.html#a88021eafbdcfca82e5c5bc33ee7c2800">ArrayHeapExtMem::tmpDir</a></div><div class="ttdeci">std::string tmpDir</div><div class="ttdef"><b>Definition:</b> ArrayHeapExtMem.hpp:60</div></div>
<div class="ttc" id="aclass_array_heap_ext_mem_html_af5f7270d94d659cb998a6d03f15ec68b"><div class="ttname"><a href="class_array_heap_ext_mem.html#af5f7270d94d659cb998a6d03f15ec68b">ArrayHeapExtMem::fileName</a></div><div class="ttdeci">std::string fileName</div><div class="ttdef"><b>Definition:</b> ArrayHeapExtMem.hpp:61</div></div>
<div class="ttc" id="astruct_heap_return_html_a92d5327a236a872dd1d0598fac7685ba"><div class="ttname"><a href="struct_heap_return.html#a92d5327a236a872dd1d0598fac7685ba">HeapReturn::which</a></div><div class="ttdeci">bool which</div><div class="ttdef"><b>Definition:</b> ArrayHeapExtMem.hpp:47</div></div>
<div class="ttc" id="aclass_array_heap_ext_mem_html_a3a5ef6bdef74f27b29dba5c29996baf0"><div class="ttname"><a href="class_array_heap_ext_mem.html#a3a5ef6bdef74f27b29dba5c29996baf0">ArrayHeapExtMem::ArrayHeapExtMem</a></div><div class="ttdeci">ArrayHeapExtMem(std::string dir, int *activeIJs)</div><div class="ttdef"><b>Definition:</b> ArrayHeapExtMem.cpp:5</div></div>
<div class="ttc" id="aclass_array_heap_ext_mem_html_a4f8d3d0869f1fa215d25e2cbcee0266d"><div class="ttname"><a href="class_array_heap_ext_mem.html#a4f8d3d0869f1fa215d25e2cbcee0266d">ArrayHeapExtMem::clearAndInitialize</a></div><div class="ttdeci">void clearAndInitialize()</div><div class="ttdef"><b>Definition:</b> ArrayHeapExtMem.cpp:218</div></div>
<div class="ttc" id="aclass_slot_pair_html_ac09540de71ab2af1b8ec8265f1453760"><div class="ttname"><a href="class_slot_pair.html#ac09540de71ab2af1b8ec8265f1453760">SlotPair::SlotPair</a></div><div class="ttdeci">SlotPair(int s, long r)</div><div class="ttdef"><b>Definition:</b> ArrayHeapExtMem.hpp:35</div></div>
<div class="ttc" id="aclass_array_heap_ext_mem_html_a7ea7fefd847ded939df6c046b3189d14"><div class="ttname"><a href="class_array_heap_ext_mem.html#a7ea7fefd847ded939df6c046b3189d14">ArrayHeapExtMem::cM</a></div><div class="ttdeci">int cM</div><div class="ttdef"><b>Definition:</b> ArrayHeapExtMem.hpp:74</div></div>
<div class="ttc" id="astruct_float_html"><div class="ttname"><a href="struct_float.html">Float</a></div><div class="ttdef"><b>Definition:</b> BinaryHeap.hpp:14</div></div>
<div class="ttc" id="aclass_array_heap_ext_mem_html_a962f7c37ee65041067e3b8369ddba764"><div class="ttname"><a href="class_array_heap_ext_mem.html#a962f7c37ee65041067e3b8369ddba764">ArrayHeapExtMem::trimInactiveFromHeapArray</a></div><div class="ttdeci">static const bool trimInactiveFromHeapArray</div><div class="ttdef"><b>Definition:</b> ArrayHeapExtMem.hpp:64</div></div>
<div class="ttc" id="aclass_array_heap_ext_mem_html_a4a2c93680e45859648cdc17dd946d1c9"><div class="ttname"><a href="class_array_heap_ext_mem.html#a4a2c93680e45859648cdc17dd946d1c9">ArrayHeapExtMem::numFields</a></div><div class="ttdeci">int numFields</div><div class="ttdef"><b>Definition:</b> ArrayHeapExtMem.hpp:104</div></div>
<div class="ttc" id="aclass_array_heap_ext_mem_html_aec025366f3eefa7993bf1d4b48351426"><div class="ttname"><a href="class_array_heap_ext_mem.html#aec025366f3eefa7993bf1d4b48351426">ArrayHeapExtMem::perSlotIntBuffer</a></div><div class="ttdeci">int *** perSlotIntBuffer</div><div class="ttdef"><b>Definition:</b> ArrayHeapExtMem.hpp:90</div></div>
<div class="ttc" id="a_array_heap_ext_mem_8hpp_html_a70f21bb9c2daeb690c71d6f05b24d399"><div class="ttname"><a href="_array_heap_ext_mem_8hpp.html#a70f21bb9c2daeb690c71d6f05b24d399">HeapReturn</a></div><div class="ttdeci">struct HeapReturn HeapReturn</div></div>
<div class="ttc" id="astruct_heap_return_html_ad3af739a005b61242cf1b5e02a2cf740"><div class="ttname"><a href="struct_heap_return.html#ad3af739a005b61242cf1b5e02a2cf740">HeapReturn::h</a></div><div class="ttdeci">void * h</div><div class="ttdef"><b>Definition:</b> ArrayHeapExtMem.hpp:46</div></div>
<div class="ttc" id="aclass_array_heap_ext_mem_html_abda6f67dea46d709e1a719843c7fec6b"><div class="ttname"><a href="class_array_heap_ext_mem.html#abda6f67dea46d709e1a719843c7fec6b">ArrayHeapExtMem::c</a></div><div class="ttdeci">float c</div><div class="ttdef"><b>Definition:</b> ArrayHeapExtMem.hpp:71</div></div>
<div class="ttc" id="aclass_array_heap_ext_mem_html_ad1535a15e7c4c34da85d5377b7426fe8"><div class="ttname"><a href="class_array_heap_ext_mem.html#ad1535a15e7c4c34da85d5377b7426fe8">ArrayHeapExtMem::freeSlots</a></div><div class="ttdeci">std::vector&lt; std::list&lt; int &gt; * &gt; * freeSlots</div><div class="ttdef"><b>Definition:</b> ArrayHeapExtMem.hpp:95</div></div>
<div class="ttc" id="aclass_array_heap_ext_mem_html_a24ce2bacde78413e6db5bb7b2e45a95e"><div class="ttname"><a href="class_array_heap_ext_mem.html#a24ce2bacde78413e6db5bb7b2e45a95e">ArrayHeapExtMem::~ArrayHeapExtMem</a></div><div class="ttdeci">~ArrayHeapExtMem()</div><div class="ttdef"><b>Definition:</b> ArrayHeapExtMem.cpp:93</div></div>
<div class="ttc" id="aclass_array_heap_ext_mem_html_abeadfba6f8a622814d9750c72f31fe3b"><div class="ttname"><a href="class_array_heap_ext_mem.html#abeadfba6f8a622814d9750c72f31fe3b">ArrayHeapExtMem::describeHeap</a></div><div class="ttdeci">void describeHeap()</div></div>
<div class="ttc" id="aclass_array_heap_ext_mem_html_a28f40b2225137d0f8cbd0c065f767e4b"><div class="ttname"><a href="class_array_heap_ext_mem.html#a28f40b2225137d0f8cbd0c065f767e4b">ArrayHeapExtMem::prepare</a></div><div class="ttdeci">void prepare()</div><div class="ttdef"><b>Definition:</b> ArrayHeapExtMem.cpp:161</div></div>
<div class="ttc" id="aclass_node_html"><div class="ttname"><a href="class_node.html">Node</a></div><div class="ttdef"><b>Definition:</b> ArrayHeapExtMem.hpp:11</div></div>
<div class="ttc" id="aclass_array_heap_ext_mem_html_a8a4b5f9befa78ef8e0d043275c1855c1"><div class="ttname"><a href="class_array_heap_ext_mem.html#a8a4b5f9befa78ef8e0d043275c1855c1">ArrayHeapExtMem::chopBottom</a></div><div class="ttdeci">static const bool chopBottom</div><div class="ttdef"><b>Definition:</b> ArrayHeapExtMem.hpp:63</div></div>
<div class="ttc" id="aclass_array_heap_ext_mem_html"><div class="ttname"><a href="class_array_heap_ext_mem.html">ArrayHeapExtMem</a></div><div class="ttdef"><b>Definition:</b> ArrayHeapExtMem.hpp:50</div></div>
<div class="ttc" id="aclass_array_heap_ext_mem_html_aa0b6486610fe9b60257a961fbec30261"><div class="ttname"><a href="class_array_heap_ext_mem.html#aa0b6486610fe9b60257a961fbec30261">ArrayHeapExtMem::numNodesPerBlock</a></div><div class="ttdeci">int numNodesPerBlock</div><div class="ttdef"><b>Definition:</b> ArrayHeapExtMem.hpp:76</div></div>
<div class="ttc" id="aclass_binary_heap___four_ints_html"><div class="ttname"><a href="class_binary_heap___four_ints.html">BinaryHeap_FourInts</a></div><div class="ttdef"><b>Definition:</b> BinaryHeap_FourInts.hpp:17</div></div>
<div class="ttc" id="aclass_array_heap_ext_mem_html_ae2586a4b61b0cda1447748fb0e0083d0"><div class="ttname"><a href="class_array_heap_ext_mem.html#ae2586a4b61b0cda1447748fb0e0083d0">ArrayHeapExtMem::getBinaryHeapWithMin</a></div><div class="ttdeci">HeapReturn getBinaryHeapWithMin()</div><div class="ttdef"><b>Definition:</b> ArrayHeapExtMem.cpp:1023</div></div>
<div class="ttc" id="aclass_array_heap_ext_mem_html_a49b44e6cebc42ae0ead6ae51fcde6a87"><div class="ttname"><a href="class_array_heap_ext_mem.html#a49b44e6cebc42ae0ead6ae51fcde6a87">ArrayHeapExtMem::deleteAll</a></div><div class="ttdeci">void deleteAll()</div><div class="ttdef"><b>Definition:</b> ArrayHeapExtMem.cpp:13</div></div>
<div class="ttc" id="aclass_slot_pair_html_ac76d354c310b27e26935b46a4a20f446"><div class="ttname"><a href="class_slot_pair.html#ac76d354c310b27e26935b46a4a20f446">SlotPair::remaining</a></div><div class="ttdeci">long remaining</div><div class="ttdef"><b>Definition:</b> ArrayHeapExtMem.hpp:33</div></div>
<div class="ttc" id="aclass_array_heap_ext_mem_html_a8b43317321928c37b4d477519a94e3b9"><div class="ttname"><a href="class_array_heap_ext_mem.html#a8b43317321928c37b4d477519a94e3b9">ArrayHeapExtMem::mem</a></div><div class="ttdeci">long mem</div><div class="ttdef"><b>Definition:</b> ArrayHeapExtMem.hpp:73</div></div>
<div class="ttc" id="aclass_array_heap_ext_mem_html_a6eaf293a2ab27192958b9d14603b0ae5"><div class="ttname"><a href="class_array_heap_ext_mem.html#a6eaf293a2ab27192958b9d14603b0ae5">ArrayHeapExtMem::numSlots</a></div><div class="ttdeci">int numSlots</div><div class="ttdef"><b>Definition:</b> ArrayHeapExtMem.hpp:75</div></div>
<div class="ttc" id="aclass_slot_pair_html_a1304d88a845660a897d8ad3abc9acb17"><div class="ttname"><a href="class_slot_pair.html#a1304d88a845660a897d8ad3abc9acb17">SlotPair::compareTo</a></div><div class="ttdeci">static int compareTo(const void *a, const void *b)</div><div class="ttdef"><b>Definition:</b> ArrayHeapExtMem.hpp:40</div></div>
<div class="ttc" id="aclass_array_heap_ext_mem_html_a66624d3b5e0a6fbd9ff43b524709e2ef"><div class="ttname"><a href="class_array_heap_ext_mem.html#a66624d3b5e0a6fbd9ff43b524709e2ef">ArrayHeapExtMem::slotBuffPos</a></div><div class="ttdeci">int ** slotBuffPos</div><div class="ttdef"><b>Definition:</b> ArrayHeapExtMem.hpp:91</div></div>
<div class="ttc" id="aclass_array_heap_ext_mem_html_a1fd0c2cebe5dad42ccaec241391b169f"><div class="ttname"><a href="class_array_heap_ext_mem.html#a1fd0c2cebe5dad42ccaec241391b169f">ArrayHeapExtMem::H2</a></div><div class="ttdeci">BinaryHeap_FourInts * H2</div><div class="ttdef"><b>Definition:</b> ArrayHeapExtMem.hpp:80</div></div>
<div class="ttc" id="aclass_array_heap_ext_mem_html_a6a7f40696470a4a00aa81be3cddfd0b6"><div class="ttname"><a href="class_array_heap_ext_mem.html#a6a7f40696470a4a00aa81be3cddfd0b6">ArrayHeapExtMem::bigBuffB</a></div><div class="ttdeci">char * bigBuffB</div><div class="ttdef"><b>Definition:</b> ArrayHeapExtMem.hpp:101</div></div>
<div class="ttc" id="aclass_array_heap_ext_mem_html_a21f8ef1f47ab9a51e1696bf74fc9cd26"><div class="ttname"><a href="class_array_heap_ext_mem.html#a21f8ef1f47ab9a51e1696bf74fc9cd26">ArrayHeapExtMem::slotPositions</a></div><div class="ttdeci">long ** slotPositions</div><div class="ttdef"><b>Definition:</b> ArrayHeapExtMem.hpp:93</div></div>
<div class="ttc" id="aclass_array_heap_ext_mem_html_ac04b46fff6274414080239459dcefc6a"><div class="ttname"><a href="class_array_heap_ext_mem.html#ac04b46fff6274414080239459dcefc6a">ArrayHeapExtMem::numArrays</a></div><div class="ttdeci">static int numArrays</div><div class="ttdef"><b>Definition:</b> ArrayHeapExtMem.hpp:65</div></div>
<div class="ttc" id="aclass_array_heap_ext_mem_html_aa0d9dd841ba0f6e56957daa451ae5dbc"><div class="ttname"><a href="class_array_heap_ext_mem.html#aa0d9dd841ba0f6e56957daa451ae5dbc">ArrayHeapExtMem::buffB</a></div><div class="ttdeci">char * buffB</div><div class="ttdef"><b>Definition:</b> ArrayHeapExtMem.hpp:99</div></div>
<div class="ttc" id="aclass_array_heap_ext_mem_html_a8a6d92421203923ef902b3bb78262a84"><div class="ttname"><a href="class_array_heap_ext_mem.html#a8a6d92421203923ef902b3bb78262a84">ArrayHeapExtMem::closeAndDeleteFile</a></div><div class="ttdeci">void closeAndDeleteFile()</div></div>
<div class="ttc" id="aclass_node_html_a747e7d35178b7a2c4020b9ca4d26ea89"><div class="ttname"><a href="class_node.html#a747e7d35178b7a2c4020b9ca4d26ea89">Node::j</a></div><div class="ttdeci">int j</div><div class="ttdef"><b>Definition:</b> ArrayHeapExtMem.hpp:14</div></div>
<div class="ttc" id="astruct_heap_return_html"><div class="ttname"><a href="struct_heap_return.html">HeapReturn</a></div><div class="ttdef"><b>Definition:</b> ArrayHeapExtMem.hpp:45</div></div>
<div class="ttc" id="aclass_slot_pair_html_a1ae791f11a43cb33f46cadaee24d8ecb"><div class="ttname"><a href="class_slot_pair.html#a1ae791f11a43cb33f46cadaee24d8ecb">SlotPair::slot</a></div><div class="ttdeci">int slot</div><div class="ttdef"><b>Definition:</b> ArrayHeapExtMem.hpp:32</div></div>
<div class="ttc" id="aclass_array_heap_ext_mem_html_a7a233b3fbadb58b060a9147097a2c38e"><div class="ttname"><a href="class_array_heap_ext_mem.html#a7a233b3fbadb58b060a9147097a2c38e">ArrayHeapExtMem::removeMin</a></div><div class="ttdeci">void removeMin()</div><div class="ttdef"><b>Definition:</b> ArrayHeapExtMem.cpp:1053</div></div>
<div class="ttc" id="aclass_array_heap_ext_mem_html_a1a9ace36076570d6a57fe770337f556b"><div class="ttname"><a href="class_array_heap_ext_mem.html#a1a9ace36076570d6a57fe770337f556b">ArrayHeapExtMem::startCheckingValues</a></div><div class="ttdeci">bool startCheckingValues</div><div class="ttdef"><b>Definition:</b> ArrayHeapExtMem.hpp:84</div></div>
<div class="ttc" id="aclass_array_heap_ext_mem_html_a59b5c9dc112754fd0b53716cece2c622"><div class="ttname"><a href="class_array_heap_ext_mem.html#a59b5c9dc112754fd0b53716cece2c622">ArrayHeapExtMem::maxLevels</a></div><div class="ttdeci">int maxLevels</div><div class="ttdef"><b>Definition:</b> ArrayHeapExtMem.hpp:70</div></div>
<div class="ttc" id="aclass_array_heap_ext_mem_html_abedb647d18a126923c1de65ed5a550ca"><div class="ttname"><a href="class_array_heap_ext_mem.html#abedb647d18a126923c1de65ed5a550ca">ArrayHeapExtMem::test</a></div><div class="ttdeci">bool test(bool verbose)</div><div class="ttdef"><b>Definition:</b> ArrayHeapExtMem.cpp:1104</div></div>
<div class="ttc" id="aclass_array_heap_ext_mem_html_a286817a6f9bb0eb5028eb3337d9ccc10"><div class="ttname"><a href="class_array_heap_ext_mem.html#a286817a6f9bb0eb5028eb3337d9ccc10">ArrayHeapExtMem::file</a></div><div class="ttdeci">FILE * file</div><div class="ttdef"><b>Definition:</b> ArrayHeapExtMem.hpp:87</div></div>
<div class="ttc" id="aclass_array_heap_ext_mem_html_a26fc220d8364d7e8894c3f5717714a51"><div class="ttname"><a href="class_array_heap_ext_mem.html#a26fc220d8364d7e8894c3f5717714a51">ArrayHeapExtMem::size</a></div><div class="ttdeci">int size()</div><div class="ttdef"><b>Definition:</b> ArrayHeapExtMem.cpp:1019</div></div>
<div class="ttc" id="aclass_array_heap_ext_mem_html_af046437cd00f617b7e27f6a351c29d0d"><div class="ttname"><a href="class_array_heap_ext_mem.html#af046437cd00f617b7e27f6a351c29d0d">ArrayHeapExtMem::H1</a></div><div class="ttdeci">BinaryHeap_TwoInts * H1</div><div class="ttdef"><b>Definition:</b> ArrayHeapExtMem.hpp:79</div></div>
<div class="ttc" id="a_binary_heap___four_ints_8hpp_html"><div class="ttname"><a href="_binary_heap___four_ints_8hpp.html">BinaryHeap_FourInts.hpp</a></div></div>
<div class="ttc" id="aclass_node_html_ac92c571228f56330b3e37ca1d43feb93"><div class="ttname"><a href="class_node.html#ac92c571228f56330b3e37ca1d43feb93">Node::i</a></div><div class="ttdeci">int i</div><div class="ttdef"><b>Definition:</b> ArrayHeapExtMem.hpp:13</div></div>
<div class="ttc" id="aclass_array_heap_ext_mem_html_a4d6b64358773829f1849dac0bc910485"><div class="ttname"><a href="class_array_heap_ext_mem.html#a4d6b64358773829f1849dac0bc910485">ArrayHeapExtMem::slotPairList</a></div><div class="ttdeci">std::vector&lt; SlotPair * &gt; * slotPairList</div><div class="ttdef"><b>Definition:</b> ArrayHeapExtMem.hpp:97</div></div>
<div class="ttc" id="aclass_slot_pair_html"><div class="ttname"><a href="class_slot_pair.html">SlotPair</a></div><div class="ttdef"><b>Definition:</b> ArrayHeapExtMem.hpp:30</div></div>
<div class="ttc" id="aclass_array_heap_ext_mem_html_a54153598c57a0dbe824e7a9c87e7a781"><div class="ttname"><a href="class_array_heap_ext_mem.html#a54153598c57a0dbe824e7a9c87e7a781">ArrayHeapExtMem::tempFile</a></div><div class="ttdeci">FILE * tempFile</div><div class="ttdef"><b>Definition:</b> ArrayHeapExtMem.hpp:109</div></div>
<div class="ttc" id="aclass_array_heap_ext_mem_html_abc99606a0b40b94eae0150ee3bf4a64c"><div class="ttname"><a href="class_array_heap_ext_mem.html#abc99606a0b40b94eae0150ee3bf4a64c">ArrayHeapExtMem::cntMax</a></div><div class="ttdeci">long * cntMax</div><div class="ttdef"><b>Definition:</b> ArrayHeapExtMem.hpp:105</div></div>
<div class="ttc" id="aclass_array_heap_ext_mem_html_a22694810f074120668372f10505f6c8b"><div class="ttname"><a href="class_array_heap_ext_mem.html#a22694810f074120668372f10505f6c8b">ArrayHeapExtMem::sortingHeap</a></div><div class="ttdeci">BinaryHeap_TwoInts * sortingHeap</div><div class="ttdef"><b>Definition:</b> ArrayHeapExtMem.hpp:107</div></div>
<div class="ttc" id="aclass_array_heap_ext_mem_html_ab265c5ed6832460974f81d20d468d8b3"><div class="ttname"><a href="class_array_heap_ext_mem.html#ab265c5ed6832460974f81d20d468d8b3">ArrayHeapExtMem::B</a></div><div class="ttdeci">int B</div><div class="ttdef"><b>Definition:</b> ArrayHeapExtMem.hpp:68</div></div>
<div class="ttc" id="aclass_array_heap_ext_mem_html_a352c27df70ca0deac7b053bafc5b775f"><div class="ttname"><a href="class_array_heap_ext_mem.html#a352c27df70ca0deac7b053bafc5b775f">ArrayHeapExtMem::A</a></div><div class="ttdeci">int A</div><div class="ttdef"><b>Definition:</b> ArrayHeapExtMem.hpp:67</div></div>
<div class="ttc" id="aclass_array_heap_ext_mem_html_a335bcdde7c416d7bfea8175cafefb120"><div class="ttname"><a href="class_array_heap_ext_mem.html#a335bcdde7c416d7bfea8175cafefb120">ArrayHeapExtMem::isEmpty</a></div><div class="ttdeci">bool isEmpty()</div><div class="ttdef"><b>Definition:</b> ArrayHeapExtMem.cpp:1094</div></div>
<div class="ttc" id="aclass_node_html_a439595ca0e98fe92ee87a54b509a7810"><div class="ttname"><a href="class_node.html#a439595ca0e98fe92ee87a54b509a7810">Node::Node</a></div><div class="ttdeci">Node(int i, int j, float key)</div><div class="ttdef"><b>Definition:</b> ArrayHeapExtMem.hpp:17</div></div>
<div class="ttc" id="aclass_array_heap_ext_mem_html_aaa5969924dc5022fe6ec7e07c2ca3e77"><div class="ttname"><a href="class_array_heap_ext_mem.html#aaa5969924dc5022fe6ec7e07c2ca3e77">ArrayHeapExtMem::loopCntr</a></div><div class="ttdeci">int loopCntr</div><div class="ttdef"><b>Definition:</b> ArrayHeapExtMem.hpp:83</div></div>
<div class="ttc" id="aclass_array_heap_ext_mem_html_a70670ca373b14372e320a98720efd50b"><div class="ttname"><a href="class_array_heap_ext_mem.html#a70670ca373b14372e320a98720efd50b">ArrayHeapExtMem::n</a></div><div class="ttdeci">int n</div><div class="ttdef"><b>Definition:</b> ArrayHeapExtMem.hpp:78</div></div>
<div class="ttc" id="aclass_array_heap_ext_mem_html_ab2b15fcf51ebc7c0ba8b99e516d9b345"><div class="ttname"><a href="class_array_heap_ext_mem.html#ab2b15fcf51ebc7c0ba8b99e516d9b345">ArrayHeapExtMem::numFieldsPerBlock</a></div><div class="ttdeci">int numFieldsPerBlock</div><div class="ttdef"><b>Definition:</b> ArrayHeapExtMem.hpp:77</div></div>
<div class="ttc" id="aclass_array_heap_ext_mem_html_af6e41001eca36c3177f1c942314b45a2"><div class="ttname"><a href="class_array_heap_ext_mem.html#af6e41001eca36c3177f1c942314b45a2">ArrayHeapExtMem::buffI</a></div><div class="ttdeci">int * buffI</div><div class="ttdef"><b>Definition:</b> ArrayHeapExtMem.hpp:100</div></div>
<div class="ttc" id="aclass_array_heap_ext_mem_html_ae6af6d1a94c1dacfbe156c7fef2bed09"><div class="ttname"><a href="class_array_heap_ext_mem.html#ae6af6d1a94c1dacfbe156c7fef2bed09">ArrayHeapExtMem::cntOnHeap</a></div><div class="ttdeci">int ** cntOnHeap</div><div class="ttdef"><b>Definition:</b> ArrayHeapExtMem.hpp:92</div></div>
<div class="ttc" id="aclass_array_heap_ext_mem_html_a27b976bfb35d0fe05d359e01f7b5c0a1"><div class="ttname"><a href="class_array_heap_ext_mem.html#a27b976bfb35d0fe05d359e01f7b5c0a1">ArrayHeapExtMem::blockSize</a></div><div class="ttdeci">int blockSize</div><div class="ttdef"><b>Definition:</b> ArrayHeapExtMem.hpp:72</div></div>
<div class="ttc" id="a_binary_heap___two_ints_8hpp_html"><div class="ttname"><a href="_binary_heap___two_ints_8hpp.html">BinaryHeap_TwoInts.hpp</a></div></div>
<div class="ttc" id="aclass_binary_heap___two_ints_html"><div class="ttname"><a href="class_binary_heap___two_ints.html">BinaryHeap_TwoInts</a></div><div class="ttdef"><b>Definition:</b> BinaryHeap_TwoInts.hpp:15</div></div>
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="dir_994258571ff4fe75827c48a736f217ad.html">NINJA</a></li><li class="navelem"><a class="el" href="_array_heap_ext_mem_8hpp.html">ArrayHeapExtMem.hpp</a></li>
    <li class="footer">Generated by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.18 </li>
  </ul>
</div>
</body>
</html>
